Enterprise resource planning (ERP) vendors provide standard packaged applications to cater to the IT needs of an enterprise. Enterprises often customize standard application components of such applications to meet industry- and/or enterprise-specific needs. However, customizations of standard application components introduce complexity into ERP systems and increase maintenance costs. Also, to facilitate customizations, ERP vendors commonly include extension frameworks in their platforms. Gaps in technology, however, make identifying similar custom codes and merging the similar custom codes back to standard application components as extensions challenging.
Additionally, ERP vendors that attempt to upgrade standard application packages to cover more industry-specific needs of enterprises face challenges in identifying standard upgrades that may be used to replace existing custom processing. Similarly, enterprises attempting to consolidate ERP systems due to cost and other market factors also face challenges in accounting for customizations to standard application packages.
Existing approaches for application customization are limited to code clone identification via approximate methods, and such approaches do not address the problem of automatic program integration to move custom code back to standard code.